package com.tea.utils;

import cn.hutool.core.util.StrUtil;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class StrToListUtil {
    /**
     * 解析以逗号分隔的字符串为 List
     *
     * @param input 以逗号分隔的字符串
     * @return 解析后的 List
     */
    public static List<String> parseStringToList(String input) {
        if (StrUtil.isBlank(input)) {
            return Collections.emptyList();
        }
        // 去除前后的方括号
        String trimmedInput = input.replaceAll("^\\[|\\]$", "").trim();
        if (trimmedInput.isEmpty()) {
            return Collections.emptyList();
        }
        return Arrays.stream(trimmedInput.split(","))
                .map(String::trim)
                .filter(s -> !s.isEmpty())
                // 去除每个元素前后的双引号和反引号
                .map(s -> s.replaceAll("^[\"'`]+|[\"'`]+$", "").trim())
                .filter(s -> !s.isEmpty())
                .collect(Collectors.toList());

    }
}